package cn.com.tupperware.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class V_Sales_totals_by_amountExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public V_Sales_totals_by_amountExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSaleamountIsNull() {
            addCriterion("SaleAmount is null");
            return (Criteria) this;
        }

        public Criteria andSaleamountIsNotNull() {
            addCriterion("SaleAmount is not null");
            return (Criteria) this;
        }

        public Criteria andSaleamountEqualTo(Double value) {
            addCriterion("SaleAmount =", value, "saleamount");
            return (Criteria) this;
        }

        public Criteria andSaleamountNotEqualTo(Double value) {
            addCriterion("SaleAmount <>", value, "saleamount");
            return (Criteria) this;
        }

        public Criteria andSaleamountGreaterThan(Double value) {
            addCriterion("SaleAmount >", value, "saleamount");
            return (Criteria) this;
        }

        public Criteria andSaleamountGreaterThanOrEqualTo(Double value) {
            addCriterion("SaleAmount >=", value, "saleamount");
            return (Criteria) this;
        }

        public Criteria andSaleamountLessThan(Double value) {
            addCriterion("SaleAmount <", value, "saleamount");
            return (Criteria) this;
        }

        public Criteria andSaleamountLessThanOrEqualTo(Double value) {
            addCriterion("SaleAmount <=", value, "saleamount");
            return (Criteria) this;
        }

        public Criteria andSaleamountIn(List<Double> values) {
            addCriterion("SaleAmount in", values, "saleamount");
            return (Criteria) this;
        }

        public Criteria andSaleamountNotIn(List<Double> values) {
            addCriterion("SaleAmount not in", values, "saleamount");
            return (Criteria) this;
        }

        public Criteria andSaleamountBetween(Double value1, Double value2) {
            addCriterion("SaleAmount between", value1, value2, "saleamount");
            return (Criteria) this;
        }

        public Criteria andSaleamountNotBetween(Double value1, Double value2) {
            addCriterion("SaleAmount not between", value1, value2, "saleamount");
            return (Criteria) this;
        }

        public Criteria andOrderidIsNull() {
            addCriterion("OrderID is null");
            return (Criteria) this;
        }

        public Criteria andOrderidIsNotNull() {
            addCriterion("OrderID is not null");
            return (Criteria) this;
        }

        public Criteria andOrderidEqualTo(Integer value) {
            addCriterion("OrderID =", value, "orderid");
            return (Criteria) this;
        }

        public Criteria andOrderidNotEqualTo(Integer value) {
            addCriterion("OrderID <>", value, "orderid");
            return (Criteria) this;
        }

        public Criteria andOrderidGreaterThan(Integer value) {
            addCriterion("OrderID >", value, "orderid");
            return (Criteria) this;
        }

        public Criteria andOrderidGreaterThanOrEqualTo(Integer value) {
            addCriterion("OrderID >=", value, "orderid");
            return (Criteria) this;
        }

        public Criteria andOrderidLessThan(Integer value) {
            addCriterion("OrderID <", value, "orderid");
            return (Criteria) this;
        }

        public Criteria andOrderidLessThanOrEqualTo(Integer value) {
            addCriterion("OrderID <=", value, "orderid");
            return (Criteria) this;
        }

        public Criteria andOrderidIn(List<Integer> values) {
            addCriterion("OrderID in", values, "orderid");
            return (Criteria) this;
        }

        public Criteria andOrderidNotIn(List<Integer> values) {
            addCriterion("OrderID not in", values, "orderid");
            return (Criteria) this;
        }

        public Criteria andOrderidBetween(Integer value1, Integer value2) {
            addCriterion("OrderID between", value1, value2, "orderid");
            return (Criteria) this;
        }

        public Criteria andOrderidNotBetween(Integer value1, Integer value2) {
            addCriterion("OrderID not between", value1, value2, "orderid");
            return (Criteria) this;
        }

        public Criteria andCompanynameIsNull() {
            addCriterion("CompanyName is null");
            return (Criteria) this;
        }

        public Criteria andCompanynameIsNotNull() {
            addCriterion("CompanyName is not null");
            return (Criteria) this;
        }

        public Criteria andCompanynameEqualTo(String value) {
            addCriterion("CompanyName =", value, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameNotEqualTo(String value) {
            addCriterion("CompanyName <>", value, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameGreaterThan(String value) {
            addCriterion("CompanyName >", value, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameGreaterThanOrEqualTo(String value) {
            addCriterion("CompanyName >=", value, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameLessThan(String value) {
            addCriterion("CompanyName <", value, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameLessThanOrEqualTo(String value) {
            addCriterion("CompanyName <=", value, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameLike(String value) {
            addCriterion("CompanyName like", value, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameNotLike(String value) {
            addCriterion("CompanyName not like", value, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameIn(List<String> values) {
            addCriterion("CompanyName in", values, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameNotIn(List<String> values) {
            addCriterion("CompanyName not in", values, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameBetween(String value1, String value2) {
            addCriterion("CompanyName between", value1, value2, "companyname");
            return (Criteria) this;
        }

        public Criteria andCompanynameNotBetween(String value1, String value2) {
            addCriterion("CompanyName not between", value1, value2, "companyname");
            return (Criteria) this;
        }

        public Criteria andShippeddateIsNull() {
            addCriterion("ShippedDate is null");
            return (Criteria) this;
        }

        public Criteria andShippeddateIsNotNull() {
            addCriterion("ShippedDate is not null");
            return (Criteria) this;
        }

        public Criteria andShippeddateEqualTo(Date value) {
            addCriterion("ShippedDate =", value, "shippeddate");
            return (Criteria) this;
        }

        public Criteria andShippeddateNotEqualTo(Date value) {
            addCriterion("ShippedDate <>", value, "shippeddate");
            return (Criteria) this;
        }

        public Criteria andShippeddateGreaterThan(Date value) {
            addCriterion("ShippedDate >", value, "shippeddate");
            return (Criteria) this;
        }

        public Criteria andShippeddateGreaterThanOrEqualTo(Date value) {
            addCriterion("ShippedDate >=", value, "shippeddate");
            return (Criteria) this;
        }

        public Criteria andShippeddateLessThan(Date value) {
            addCriterion("ShippedDate <", value, "shippeddate");
            return (Criteria) this;
        }

        public Criteria andShippeddateLessThanOrEqualTo(Date value) {
            addCriterion("ShippedDate <=", value, "shippeddate");
            return (Criteria) this;
        }

        public Criteria andShippeddateIn(List<Date> values) {
            addCriterion("ShippedDate in", values, "shippeddate");
            return (Criteria) this;
        }

        public Criteria andShippeddateNotIn(List<Date> values) {
            addCriterion("ShippedDate not in", values, "shippeddate");
            return (Criteria) this;
        }

        public Criteria andShippeddateBetween(Date value1, Date value2) {
            addCriterion("ShippedDate between", value1, value2, "shippeddate");
            return (Criteria) this;
        }

        public Criteria andShippeddateNotBetween(Date value1, Date value2) {
            addCriterion("ShippedDate not between", value1, value2, "shippeddate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}